Bug 549810 – Memory leaks in printing code
authorChristian Dywan <cdywan@src.gnome.org>
Fri, 29 Aug 2008 18:14:32 +0000 (18:14 +0000)
committerChristian Dywan <cdywan@src.gnome.org>
Fri, 29 Aug 2008 18:14:32 +0000 (18:14 +0000)
svn path=/trunk/; revision=21241

ChangeLog
gtk/gtkprintjob.c
modules/printbackends/file/gtkprintbackendfile.c
modules/printbackends/test/gtkprintbackendtest.c

index be99c0ec6f6004e46894fda1c5f4c6186a55cdcc..b48938557d9f7f53b0b4c137afec91c0b1396546 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-08-29  Christian Dywan  <christian@imendio.com>
+
+       Bug 549810 – Memory leaks in printing code
+
+       * gtk/gtkprintjob.c (gtk_print_job_set_property):
+       * modules/printbackends/file/gtkprintbackendfile.c
+       (output_file_from_settings):
+       * modules/printbackends/test/gtkprintbackendtest.c
+       (output_test_from_settings): free some temporary strings.
+        Patch by Yevgen Muntyan.
+
 2008-08-29  Michael Natterer  <mitch@imendio.com>
 
        * gtk/gtkwidget.h: move the gtk_widget_get_parent() and
index d9ff9cdc55d1227fc413469fdfcd14e774be3c50..c59a27a741c8a5fa31f945af65d9e5ac2f734691 100644 (file)
@@ -585,6 +585,7 @@ gtk_print_job_set_property (GObject      *object,
   switch (prop_id)
     {
     case PROP_TITLE:
+      g_free (priv->title);
       priv->title = g_value_dup_string (value);
       break;
     
index 43b96f457c481c79095f9fffd7ca06769ec47ca0..070a69a9e46fb832ae6799d4311625e9c92e7bfa 100644 (file)
@@ -238,11 +238,13 @@ output_file_from_settings (GtkPrintSettings *settings,
 
       if (locale_name != NULL)
         {
-          path = g_build_filename (g_get_current_dir (), locale_name, NULL);
+         gchar *current_dir = g_get_current_dir ();
+          path = g_build_filename (current_dir, locale_name, NULL);
           g_free (locale_name);
 
           uri = g_filename_to_uri (path, NULL, NULL);
           g_free (path);
+         g_free (current_dir);
        }
     }
 
index 73ce61b7bd3a3cbb0e49a0f0b8eca54a4f466d14..c8ff0021d8c8165d5e6a7fc997db10c23ec8460b 100644 (file)
@@ -238,11 +238,13 @@ output_test_from_settings (GtkPrintSettings *settings,
 
       if (locale_name != NULL)
         {
-          path = g_build_filename (g_get_current_dir (), locale_name, NULL);
+         gchar *current_dir = g_get_current_dir ();
+          path = g_build_filename (current_dir, locale_name, NULL);
           g_free (locale_name);
 
           uri = g_filename_to_uri (path, NULL, NULL);
           g_free (path);
+         g_free (current_dir);
        }
     }